package com.gadgets.cm01.auth.controller;

import com.gadgets.cm01.auth.dto.AuthorityQueryDTO;
import com.gadgets.cm01.auth.dto.AuthorityTreeDTO;
import com.gadgets.cm01.auth.pojo.Authority;
import com.gadgets.framework.common.dto.HttpBaseResp;
import com.gadgets.framework.common.dto.Pagination;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author UncleXiu
 * @version V1.0.0
 * @data 2020-09-29
 * 
 */
public interface IAuthorityController {

    /**
     * 根据父菜单ID查询菜单树
     * @param request   请求信息
     * @param response  应答信息
     * @param queryDTO  查询条件
     * @return          查询结果
     */
    AuthorityTreeDTO queryAuthorityTree(HttpServletRequest request, HttpServletResponse response, AuthorityQueryDTO queryDTO);

    /**
     * 分页条件查询菜单列表
     * @param request       请求信息
     * @param response      应答信息
     * @param queryDTO      查询条件
     * @param pagination    分页条件
     * @return              查询结果
     */
    HttpBaseResp<Authority> queryAuthorityInfoCondition(HttpServletRequest request, HttpServletResponse response, AuthorityQueryDTO queryDTO, Pagination pagination);

}
